/**
 *	@file	album_sys.h
 *	@brief	フォトアルバム　ローカルヘッダ
 *	@author	Miyuki Iwasawa
 *	@date	08.05.28
 */

#ifndef __H_ALBUM_SYS_H__
#define __H_ALBUM_SYS_H__

#include "savedata/picture_util.h"
#include "system/selbox.h"
#include "system/wordset.h"
#include "system/touch_subwindow.h"

#include "album_def.h"


typedef struct _ALBUM_MSG{
	MSGDATA_MANAGER*	man;

	WORDSET* wset;		///<ワーク

	STRBUF	*tmp;
	STRBUF	*back;
	STRBUF	*exp[MIDX_EXP_MAX];
	STRBUF	*pic[MIDX_PIC_MAX];
}ALBUM_MSG;

typedef struct _PICTURE_LIST{
	u8				id;		///<実データ配列の参照index
	PICTURE_DATA*	dat;	///<実データへの参照ポインタ
}PICTURE_LIST;


typedef struct _ALBUM_WORK{
	int	heapID;
	int	seq;
	u16	sub_seq;
	u16 sub_ct;
	int	key_mode;
	ALBUM_PARAM* param;

	GF_BGL_INI* bgl;

	u8	btnanm_f:1;			///<バックボタンアニメ待ち
	u8	aff_req:1;			///<アフィンリクエスト
	u8	eff_visible_req:1;	///<エフェクト面表示切替リクエスト
	u8	eff_visible:1;		///<エフェクト面表示状態
	u8	aff_ct:4;			///<アフィンカウンタ

	u8	page;		///<ページ
	u8	page_max;	///<ページ
	u8	cpos_x;		///<カーソルポジション
	u8	cpos_y;		///<カーソルポジション
	u8	tpos_x;		///<カーソルの選択ターゲット
	u8	tpos_y;		///<カーソルの選択ターゲット
	u8	target;		///<ターゲットデータindex
	u8	state;		///<アプリステート

	u8	msg_idx;	///<メッセージ再生ID
	u8	msg_spd;	///<メッセージスピード
	u8	win_type;	///<ウィンドウタイプ
	ALBUM_MSG			msg;

	GF_BGL_BMPWIN		win[WIN_MAX];	///<Bmpウィンドウ
	SELBOX_SYS			*sbox;		///<選択ボックスシステムワーク
	SELBOX_WORK*		list_wk;	///<選択ボックスリストワーク
	BMPLIST_DATA*		slist;		///<選択ボックスリスト
	TOUCH_SW_SYS		*ynbtn_wk;	///<YesNoボタンワーク

	CATS_SYS_PTR		pActSys;	///<セルアクターシステム
	CATS_RES_PTR		pActRes;	///<セルアクターリソース
	CLACT_WORK_PTR		pAct[ALBUM_ACTMAX];		///<アクター

	NNSG2dScreenData*	pSParts;	//<パーツスクリーンポインタ
	void*				pSPartsBuf;
	NNSG2dScreenData*	pSThumb;	//<サムネールスクリーンポインタ
	void*				pSThumbBuf;
	NNSG2dScreenData*	pSEff;		//<エフェクト面スクリーンポインタ
	void*				pSEffBuf;

	PICTURE_ID			pict_num_ini;	///<有効な写真の数（初期化時）
	PICTURE_ID			pict_num;	///<有効な写真の数
	PICTURE_DATA		*pictData;	///<写真データ配列
	PICTURE_LIST		pict[PICTURE_DATA_MAX];
	PICTURE_SAVE		*pict_save;

	fx32				aff_x;
}ALBUM_WORK;

typedef struct _BACKBTN_TASK_WK{
	ALBUM_WORK* paw;
	u8			ct;
	u8			seq;
}BACKBTN_TASK_WK;

#endif	//__H_ALBUM_SYS_H__
